// 仅导入类型
import type { App } from 'vue'
// 引入图标组件
import SvgIcon from '@/components/SvgIcon/svg-icon.vue'
// 分页组件
import Pagination from '@/components/Pagination/index.vue'
// 引入element-plus图标库
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
// 定义一个组件对象
const components = { SvgIcon,Pagination }

const globalComponents = {
  // install 可以接收一个参数 app 这个实例，类型是 App
  install(app: App): void {
    Object.keys(components).forEach((key) => {
      app.component(key, components[key as keyof typeof components])
    })
    // 将ElementPlusIconsVue 里面的所有组件注册到全局中
    for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
      app.component(key, component)
    }
  },
}

export default globalComponents
